<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        /*
            cache-control http 1.1
                max-age: 缓存最大有效时间，在有效时间内，浏览器不会再次
                    向服务器发送这个请求，max-age优先级更高，当有max-age
                    时，expires就不会生效
                s-maxage：优先级高与max-age, 只能设置public缓存设备
                private：私人缓存设备，当前用户浏览器中的缓存
                public: CDN就是public缓存设备，可以被很多用户访问
                no-cache: 不会完全不发请求，通过服务端的last-modifed
                    进一步判断，资源是否过期，发请求到服务端
                no-store: 完全不是任何缓存策略
            
            expires:  HTTP 1.0  强浏览器缓存策略，不会触发任何请求
                设置缓存到期时间，浏览器缓存 
            

            
            Last-Modified 和 If-Modified-Since 感知服务端发生变化
                1，基于客户端和服务端协商的缓存机制
                2，当想服务端发起请求时，服务端在response header中
                    1，带上last-modified字段，客户端将资源和字段存到缓存区域中，
                        客户端会持有资源在服务端的修改时间，
                    2，之后每次请求中带上，If-Modified-Since字段，如果没有更新
                        返回304的状态，否则服务器返回200，客户端跟新
                    3，max-age优先级大于Last-Modified
    
            etag/If-None-Match
                1, 文件内容的hash值
            通过httpheader控制缓存策略

        */    
    </script>
</body>
</html>